package com.aishua.fire.service;


import java.util.List;

import com.aishua.fire.entity.account.Session;
import com.aishua.fire.entity.app.APPExerciseConclusionReqInfo;
import com.aishua.fire.entity.app.APPExerciseFeedBack;
import com.aishua.fire.entity.app.APPExerciseFeedBack_Detail;
import com.aishua.fire.entity.app.App_AddPlanRecordInfo;
import com.aishua.fire.entity.app.App_AddressBookInfo;
import com.aishua.fire.entity.app.App_PlanRecordInfo;
import com.aishua.fire.entity.app.GetAppOrganizationAndUserInfo;
import com.aishua.fire.entity.drillrecord.App_DrillRecordCatalogList;
import com.aishua.fire.entity.material.MaterialAddressList;
import com.aishua.fire.entity.material.MaterialDetailRecordInfo;
import com.aishua.fire.entity.material.MaterialDetailRecordInfoList;
import com.aishua.fire.entity.material.MaterialDetailsList;

public interface AppOperationService
{

	/**
	 * 插入APP拨号记录
	 * @param user_id
	 * @param phone
	 */
	void insertCallRecord(String user_id, String phone);
	
	/**
	 * 获取session对象
	 * @param sessionId
	 * @return
	 */
	Session findByAppSessionId(String sessionId);

	/**
	 * 查询APP拨号记录
	 * @param user_id
	 * @param phone
	 */
	List<App_AddressBookInfo> getCallRecord(String user_id, int pageNumber, int pageSize);

	/**
	 * 查询APP拨号记录数量
	 * @param user_id
	 * @param phone
	 */
	int listTotal(String user_id);

	/**
	 * APP_查询当前组织结构下所有节点及员工
	 * @param id
	 * @return
	 */
	GetAppOrganizationAndUserInfo getOrganizationAndUser(String id, int pageNumber, int pageSize);

	/**
	 * APP_查询通讯录员工详情
	 * @param id
	 * @return
	 */
	App_AddressBookInfo getAddressBookDetail(String id);

	/**
	 * APP_查询通讯录
	 * @param parm
	 * @param pageNumber
	 * @param pageSize
	 * @return
	 */
	List<App_AddressBookInfo> getAddressBookList(String parm, int pageNumber, int pageSize);

	/**
	 * APP_查询通讯录条数
	 * @param parm
	 * @param pageNumber
	 * @param pageSize
	 * @return
	 */
	int getAddressBookListTotal(String parm);

	/**
	 * APP_查询参数表
	 * @param parm
	 * @return
	 */
	String getparameterinfo(String parm);

	/**
	 * APP_记录二维码扫描记录_返回巡检点关联的巡检项目
	 * @param s_id
	 * @param user_id
	 * @return
	 */
	public App_PlanRecordInfo app_planSweep(String s_id, String user_id);
	
	   /**
     * APP_查询应急物资列表
     * @param user_id
     * @param m_name
     * @param pageNumber
     * @param pageSize
     * @return
     */
    public List<MaterialDetailsList> materiallist(String user_id, String address_id, int pageNumber, int pageSize);

    /**
     * APP_查询应急物资列表条数
     * @param user_id
     * @param m_name
     * @param pageNumber
     * @param pageSize
     * @return
     */
    public int materiallistTotal(String user_id, String m_name);

    /**
     * APP_插入用户物资巡检记录
     * @param info
     */
    boolean insertMaterialRecord(MaterialDetailRecordInfo info);

    /**
     * APP_记录二维码扫描记录_插入巡检点项目提交记录
     * @param addInfo
     */
    void app_addPlanSweep(App_AddPlanRecordInfo addInfo);

    /**
     * app查询_物资管理-查询当前登录员工所有物资储存地点
     * @param pageNumber
     * @param pageSize
     * @param user_id
     * @return
     */
    List<MaterialAddressList> getMaterialAddressByApp(int pageNumber, int pageSize, String user_id);

    /**
     * APP_查询用户物资巡检记录列表
     * @param user_id
     * @return
     */
    List<MaterialDetailRecordInfo> getMaterialRecordList(String user_id, int pageNumber, int pageSize);

    /**
     * APP_查询用户物资巡检记录详情接口
     * @param id
     * @return
     */
    MaterialDetailRecordInfoList getMaterialRecordDetail(String id);

    /**
     * app查询_演练资料详情接口计划_演练现场记录
     * @param type
     * @return
     */
    List<App_DrillRecordCatalogList> dataDrillRecord(String type);

    /**
     * app查询_演练资料详情接口计划_演练现场记录答题答案
     * @param id
     * @return
     */
    List<App_DrillRecordCatalogList> dataDrillRecordAnswer(String id);
    
    /**
     * app查询_演练资料详情接口计划_查询预案演练总结
     * @param id
     * @return
     */
    APPExerciseConclusionReqInfo dataExist_ques(String id);

    /**
     * app查询_演练资料详情接口计划_查询预案演练总结
     * @param feedback
     */
    void exist_feedback(APPExerciseFeedBack feedback);

    /**
     * app查询_演练资料详情接口计划_查询预案反馈
     * @param id
     * @return
     */
    List<APPExerciseFeedBack_Detail> getExist_feedback(String id);
}
